package com.hzit.auth.service.impl;

import cn.hutool.crypto.SecureUtil;
import com.hzit.auth.service.AuthService;
import com.hzit.utils.JwtUtils;
import io.jsonwebtoken.Jwts;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

/**
 * 类名：
 * 作者：WF
 * 功能：
 */
@Service
public class AuthServiceImpl implements AuthService {
	@Autowired
	private StringRedisTemplate redisTemplate;

	@Override
	public String auth(String username, String password) {
		String s = SecureUtil.md5(password);
		String md5Secure = "202cb962ac59075b964b07152d234b70";
		if("zhangsan".equals(username) && md5Secure.equals(s)) {
			//1. 生成一个uuid字符串
			String uuid = UUID.randomUUID().toString();
			//2. 使用uuid加一个固定key
			redisTemplate.opsForValue().set("login-token:" + uuid, username);
			//3. 为jwt创建一个map数据
			Map<String, Object> map = new HashMap<>();
			map.put("username", username);
			map.put("password", password);
			map.put("token", uuid);
			//4. 为jwt生成一个token字串
			String token = JwtUtils.createToken(map);

			//5. 返回
			return token;
		}

		return null;
	}
}
